Many electronic devices have components that include an integrated memory. Often, the manufacturer of these devices wants to monitor usage to determine a remaining life of the device. One example of these devices is a printer having a memory on a printing cartridge.
Many printers, such as inkjet printers or electrostatic printers, print an image on a recording medium by dispensing a printing medium onto the recording medium. Ink jet printers operate by ejecting ink drops from a printhead onto the recording medium. The printhead may contain one or more supplies of ink or be connected to separate ink cartridges that supply ink. Color images are formed by ejecting color inks onto the recording medium from two or more printheads. One printhead is used to eject black ink and a second printhead is used to eject color ink. Alternatively, each color ink may be ejected by single printhead. Electrostatic or laser printers form an image on a recording medium by transferring toner particles onto the medium. Typically, a recording drum is charged and a latent image is formed on the drum by a laser. The latent image is developed on the drum by developer or toner particles and this image is transferred directly or indirectly onto a recording medium. In color printers multiple cartridges are provided to transfer color images.
One method of monitoring usage of a printing cartridge is to count the amount of printing that is performed. For example, in an inkjet printer, a counter may count the number of ink drops ejected from each printhead. In an electrostatic printer a counter may count the number of lines or pages printed by each cartridge. Each of the numbers counted is then processed as a count signal and the printer sends each of the count signals to the appropriate cartridge or printhead. The cartridge or printhead contains an integral memory that stores a value indicative the amount of printing agent used. When the cartridge or printhead receives the count signal the count signal is processed to increment the memory by the value indicated by the count signal. Implementation of this method allows for each cartridge or printhead to be updated with an amount of consumable material used.
When it is desired to determine an amount of consumable remaining in each cartridge or printhead, the printer or a host in communication with the printer sends a read signal to appropriate memory. This signal is processed and the value stored in the memory is read. This value can then be compared with a value indicative of a total amount of consumable that each cartridge or printhead is preloaded with. When the read value approaches the total value then a low toner or low ink condition is detected. This detection can result in a warning being provided to the user or in disabling the low cartridge.
An example of an image recording device using this method is described in U.S. Pat. No. 7,844,786. In this device, command protocols are supported in order to have one or more counters incremented. An increment counter command protocol permits the memory modules to receive an increment counter command. With an increment counter command, each memory module may include a counter that maintains its own count, which is increased by a specified value upon receipt of the increment counter command. The increment counter command may be utilized with a plurality of counters with different counts—for example global page counts, color page counts, letter-sized page counts, legal-sized paged counts, transparency page counts, etc. Thus, the global page count the color page count, the letter-sized page counts, and the transparency page counts in one or more memory modules may be incremented at the same time, which makes it unnecessary for the processing device to know of the present values of each of those counts that are being updated. Instead, each memory module is responsible for maintaining its own counts and updating the counts upon receipt of the increment counter command protocol.
The increment counter protocol includes a set of bits allocated for the increment counter command, the memory module address, the value that each counter will increment by, the length of the list of counters, and the address of each counter to increment within the memory module. According to one illustrative example, the increment counter command may be eight bits, the memory module address may be sixteen bits, the value that each counter will increment by may be eight bits, the length of the list of counters may be eight bits, and the address of each counter may be sixteen bits. Each memory module that is addressed will pull the signal on the status channel to a low voltage to signify that it is busy while it updates one or more counters by the value specified. The memory module will release the signal on the status channel to a high voltage to signify that it is ready after each addressed counter has been updated.
A problem with the method of updating consumable use described above is that memory locations on the individual cartridges is frequently rewritten. This frequent rewriting can result in slowing down a processing device located on the cartridge or used by the cartridge. Also, frequent rewriting of the memory may result in the memory failing or prematurely shorten the life of the memory. Therefore, this method may result in slowing the print speed of the printer or in shortening the useable lifetime of the memory and the cartridge that memory is loaded on.